The synchronization of data is a well known problem for all users processing the same data with at least two different electronic devices. In general, synchronization takes place between a terminal device (e.g., a mobile phone) and a server device (e.g., an application in a local PC or a dedicated synchronization server). Data of portable terminals, such as portable computers, PDA terminals (personal digital assistant), mobile stations or pagers, can be synchronized with network applications, applications of desktop computers or with other databases of the telecommunications system, wherein the term database should be understood as broad as possible, i.e. shall cover arbitrary sets of data. In particular, data of calendar and e-mail applications are typically synchronized.
Synchronization has been based on the use of different manufacturer-specific protocols which are incompatible. This restricts the use of terminal or data types and often causes troubles to the user. In mobile communication, in particular, it is important that data can be retrieved and updated regardless of the terminal and application used.
To improve synchronization of application data, a language known as synchronization markup language SyncML, which is based on the extensible markup language (XML) and a corresponding standardized document type description (DTD), has been developed. By using a SyncML synchronization protocol, which employs messages in the SyncML format, data of any application can be synchronized between networked terminals and a network server of any kind. The SyncML synchronization protocol works both in wireless and in fixed networks and supports several transmission protocols.
The above presented SyncML synchronization technology addresses preferably the synchronization of databases. A problem similar to the synchronization of databases is given by the managing of configuration data properties necessary for the operation of electronic devices within changing environments, for example of mobile phone operating within mobile communication networks of different network carriers requiring individual carrier related sets of configurations e.g. network access point (NAP) definitions, proxy and gateway server addresses, information and definitions; address information of servers providing certain services such as short message service (SMS), multimedia message service (MMS) and the like. The SyncML device management relates to the harmonizing of configuration data. The respective configuration data or information is contained in management objects, respectively, associated to the device features and the applications, respectively.
SyncML device management (SyncML DM) protocol allows management commands to be executed on management objects and it uses a package format similar SyncML synchronization protocol and related definitions and is based also on XML. A management object might reflect a set of configuration parameters for a device, i.e. configuration parameters of device features and/or configuration parameters and settings of software applications executed on the device. Actions that can be taken against this object might include reading and setting parameter keys and values. Another management object might be the run-time environment for software applications on a device. Actions that can be taken against this type of object might include installing, upgrading, or uninstalling software elements. Preferably, dedicated management servers provide the required configuration parameters, settings, keys and values for synchronization of the device management information aforementioned.
The device management in accordance with the SyncML device management structures the management objects in a hierarchical management tree containing all information which can be managed using the SyncML DM protocol. The management tree is based on a permanent part of the management tree defined and provided by the manufacturer of the respective electronic device supporting SyncML device management. The real management tree present in such an operated electronic device is composed of this permanent part of the management tree which is expanded by a dynamically created part of the management tree. The real management tree is derived in some way from a kind of pre-determined tree framework, i.e. derived based on a kind of object-oriented inheritance, and results in a kind of interwoven management tree consisting of permanent and dynamic management objects.
It is obvious that the hierarchical structure of such a management tree containing management information required for operating a terminal device of a type as described above is rather complex depending on the functions provided by the terminal device to a user and the applications running on the terminal device and employing the management tree for configuration data and settings. Especially, each further function added to the terminal device or application implemented into the terminal device results in an increasing of the total hierarchical structure of the management tree causing a more complicated hierarchical structure. The kind and number of functions and/or applications for improving the operation of the terminal devices is unknown. But it is desired to maintain the introduced hierarchical management tree for storing and/or managing configuration data and settings even for future use.